/******************************************************************************
* Copyright (C) 2020 ShenZhen Powerdata Information Technology Co.,Ltd
* All Rights Reserved.
* 本软件为***研制。未经本公司正式书面同意，其他任何个人、团体不得使用、
* 复制、修改或发布本软件.
*****************************************************************************/

package com.idempotent.xgfidempotent.config.ext;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.idempotent.xgfidempotent.ratelimiter.RateLimiterInterface;

/**
* @Title: 限流優先
* @ClassName:  ExtRateLimiter   
* @Description:TODO  
* @author: xgf
* @date:   2020年2月11日 下午1:10:04   
* @since   JDK1.8
* @history 2020年2月11日 TODO 新建
*/
@Target(value = ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExtRateLimiter {
	/**
	 * 令牌桶1s通行頻率
	* @Title: value
	* @Description: TODO
	* @param @return 
	* @return double
	* @throws
	 */
	double value();

	/**
	 * 超時時間 默認 MILLISECONDS
	* @Title: timeOut
	* @Description: TODO
	* @param @return 
	* @return long
	* @throws
	 */
	long timeOut();
	
	
	/**
	 * 如果觸發 降級策略，執行其中的 
	* @Title: extRateLimiter
	* @Description: TODO
	* @param @return 
	* @return Class
	* @throws
	 */
	Class<RateLimiterInterface>  extRateLimiter();
}
